Flexible Hardware Mapping for Finite Element Simulations on Hybrid CPU / GPU Clusters
نویسندگان
چکیده
The ever increasing peak floating-point performance and memory bandwidth of GPUs is making them increasingly ubiquitous in the high performance computing community. With increasing adoption of GPUs in cluster environments, applications that cannot take advantage of this hardware will be at a distinct disadvantage. For the class of applications that can achieve massive speedups of 100x or more on the GPU, the way forward is clear: maximum performance will depend on utilizing all available GPUs as efficiently as possible, with the CPU most likely relegated to managing the data flowing into and out of the GPU. However, for applications that can benefit from GPU execution, but may experience speedups that are only in the range of 5-10x, the appropriate relationship between the CPU and GPU is more difficult to determine, and may depend upon the specifics of the algorithm and hardware in question. Finite element applications generally fit the description of codes that benefit from GPUs, but probably not by more than 15-20x even in the best case. In a cluster environment where data must be transferred to the CPU at regular intervals for synchronization, speedups less than 10x are typical. When cluster nodes have 8 CPU cores and more, it is clear that maximum performance will require taking full advantage of execution on both CPU and GPU. We present an API and supporting software layer for finite element applications on unstructured meshes in hybrid CPU/GPU environments that allows runtime mapping of mesh partitions to either CPU or GPU hardware and effectively overlaps CPU and GPU work. This layer sits on top of the ParFUM [6] framework for unstructured meshes and takes advantage of its support for synchronization of shared nodes between mesh partitions. ParFUM in turn relies on the Charm++ parallel runtime system [4]. This software layer manages the creation and deletion of GPU memory buffers and the transfer of node and element data to and from the GPU at each synchronization point. It also provides a consistent API for accessing that data in both CPU and GPU functions, allowing very similar code for equivalent CPU and GPU kernels. We demonstrate the effectiveness of this scheme by presenting a functionally graded material simulation that scales to 128 nodes of the National Center for Supercomputing Applications (NCSA) Lincoln cluster, with a speedup of 2023 over a single CPU core. II. API
منابع مشابه
A scalable hybrid algorithm based on domain decomposition and algebraic multigrid for solving partial differential equations on a cluster of CPU/GPUs
Several of the top ranked supercomputers are based on the hybrid architecture consisting of a large number of CPUs and GPUs. Very high performance has been obtained for problems with special structures, such as FFT-based image processing or N-body based particle calculations. However, for the class of problems described by partial differential equations discretized by finite difference (or othe...
متن کاملArchitecting the finite element method pipeline for the GPU
The finite element method (FEM) is a widely employed numerical technique for approximating the solution of partial differential equations (PDEs) in various science and engineering applications. Many of these applications benefit from fast execution of the FEM pipeline. One way to accelerate the FEM pipeline is by exploiting advances in modern computational hardware, such as the many-core stream...
متن کاملA flexible Patch-based lattice Boltzmann parallelization approach for heterogeneous GPU-CPU clusters
Sustaining a large fraction of single GPU performance in parallel computations is considered to be the major problem of GPU-based clusters. In this article, this topic is addressed in the context of a lattice Boltzmann flow solver that is integrated in the WaLBerla software framework. We propose a multi-GPU implementation using a block-structured MPI parallelization, suitable for load balancing...
متن کاملHybrid CPU/GPU KD-Tree Construction for Versatile Ray Tracing
We propose an hybrid CPU-GPU ray-tracing implementation based on an optimal Kd-Tree as acceleration structure. The construction and traversal of this KD-tree takes benefit from both the CPU and the GPU to achieve high-performance ray-tracing on mainstream hardware. Our approach, flexible enough to use only a single computing unit (CPU or GPU), is able to efficiently distribute workload between ...
متن کاملFEAST - realization of hardware-oriented numerics for HPC simulations with finite elements
FEAST (Finite Element Analysis & Solutions Tools) is a Finite Element based solver toolkit for the simulation of PDE problems on parallel HPC systems which implements the concept of ‘hardware-oriented numerics’, a holistic approach aiming at optimal performance for modern numerics. In this paper, we describe this concept and the modular design which enables applications built on top of FEAST to...
متن کامل